// JavaScript Document
//Funcion que muestra el jqgrid con los diferentes perfiles que pueden tener los usuarios
function print_grid(){
	$("#list").jqGrid({
		url:'perfiles/backend.php?action=grid', 
		datatype: "json", 
		colNames:['Id','Perfil','Activo'], 
		colModel:[ 
			{name:'id_tipo',index:'id_tipo', width:55, align:"center"}, 
			{name:'tipo',index:'tipo', width:90, align:"center"},
			{name:'activo',index:'activo',width:55,align:"center"}
		], 
		rowNum:30, 
		height:280,
		width:780, 
		pager: '#pager', 
		sortname: 'id_tipo', 
		autowidth: false,
		viewrecords: true, 
		sortorder: "asc", 
		caption:"Gesti&oacute;n de Perfiles",
		pgbuttons:false,
		pginput:false,
		onSelectRow: function(id)
		{
				
		
		}}); 

	//$("#list").jqGrid('navGrid','#pager',{edit:false,add:true,del:false});

	$("#list").jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:false,refresh:false}); 
	/*$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Insertar",
		buttonicon :'ui-icon-plus',
		onClickButton : function (){ 
			nuevoperfil();
		} 
	}); 
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Modificar", 
		buttonicon :'ui-icon-pencil',
		onClickButton : function (){ 
			modificar();
		} 
	}); 
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Borrar", 
		buttonicon :'ui-icon-trash',
		onClickButton : function (){ 
			borrar();
		} 
	}); */


}

//Funcion que muestra un formulario para poder insertar un nuevo perfil de usuario en la base de datos
function nuevoperfil(){
	$.get("perfiles/backend.php?action=form", function(data){
		crear_modal(580,270,data);
	});
	return false;
}

//Funcion que muestra un formulario para poder modificar un perfil de usuario existente previamente seleccionado
function modificar(){
	var id_tipo = $("#list").jqGrid('getGridParam','selrow'); 

	if( id_tipo == null ){
		alert("Para modificar un registro debe seleccionarlo previamente."); 
	}else{
		//Se envian al backend los datos del perfil para llenar los campos del formulario con dichos datos
		$.get("perfiles/backend.php?action=form&id_tipo="+id_tipo, function(data){
			crear_modal(580,270,data);
		});
	}
	return false;
}

//Funcion que borra un perfil de usuario existente previamente seleccionado en el jqgrid
function borrar(){
	//Se obtiene el id del perfil de usuario
	var id_tipo = $("#list").jqGrid('getGridParam','selrow'); 

	if( id_tipo == null ){
		alert("Para modificar un registro debe seleccionarlo previamente."); 
	}else{
		if(!confirm("¿Está seguro de que desea eliminar el registro seleccionado?"))
			exit(); 
		//Se envian al backend los datos del perfil de usuario para proceder con su borrado de la base de datos
		$.get("perfiles/backend.php?action=borrar&id_tipo="+id_tipo, function(data){
			//Se muestran los correspondientes mensajes de error en caso de error
			switch(data){
				case 'tiene_usuarios':{
					alert("No se puede borrar el perfil ya que tiene usuarios asociados");
					break;
				}
				case 'OK':{
					//Se recarga el jqgrid si el borrado tiene exito
					$("#list").trigger("reloadGrid");limpiar_auxiliar();
					break;
				}
			}
		});
	}
	return false;
}

//Funcion que inserta, modifica o borra un perfil de usuario en funcion de la accion que reciba por parametro
function guardar(action){
	//Se envian al backend los datos del perfil de usuario junto con la accion que se les quiere aplicar, inserción, modificacion o borrado
	$.post("perfiles/backend.php?action="+action,$("#form_perfil").serialize(), function(data){
				//Se muestran los respectivos mensajes de error en caso de error
				switch(data){
					case 'nombre':
					case 'derechos':{
						reiniciar_titulos();
						titulo_error(data);
						break;
					}				
					case 'OK':{
						//Si el guardado tiene exito se cierra el formulario de perfiles y se recarga el jqgrid de perfiles de usuario
						reiniciar_titulos();
						$.modal.close();
						$("#list").trigger("reloadGrid");
						break;						
					}								
				}							

	});
}

//Funcion que aplica el estilo normal a los contenedores de error
function reiniciar_titulos(){
	contenedores = new Array('nombre','derechos');
	
	for(i=0;i<contenedores.length;i++){
		document.getElementById('cont_'+contenedores[i]).style.color= "#000000";
		document.getElementById('cont_'+contenedores[i]).style.fontWeight= "normal";
	}
}

//Funcion que aplica el estilo de error a los contenedores de error
function titulo_error(var_cont){
	reiniciar_titulos();
	document.getElementById('cont_'+var_cont).style.color= "red";
	document.getElementById('cont_'+var_cont).style.fontWeight= "bold";			
	document.getElementById('contenedor').innerHTML = "<font color='red'><b>Hay campos err&oacute;neos o sin cumplimentar</b></font>";
}
